Data analysis software often requires a user to manually perform numerous operations in a specific sequence to generate a report from information stored in a database. For instance, the user is often required to manipulate data between the data analysis software and database software and perform operations on the data using both the data analysis and database software. For example, in order to generate a report using an activity based management (ABM) software application based on data stored in a database, a user may need to 1) export the appropriate table from the ABM software to the database software, 2) execute the appropriate database operation to update the table, 3) import the updated table back to the ABM software, and 4) perform any necessary operations using the ABM software to generate the report using the updated table. Although one or more wizards are typically provided to make these steps easier for the user, the process is often time consuming. Moreover, it is often necessary to perform these same tasks on a periodic basis, for example to generate periodic (e.g., monthly) reports. Programming software applications to automatically perform the necessary steps to generate a report would typically require significant programming knowledge, for example to program complicated XML or batch files.